﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using turnos.core.util;
using turnos.core.modelo;

namespace turnos.escritorio
{
    public partial class frmBuscarTurnos : Form
    {
     
        private AgendaDeTurnos _agenda;
        
        private List<AgendaDeTurnos> agenda;

        public AgendaDeTurnos AgendaSeleccionada
        {
            get { return _agenda; }
            set { _agenda = value; }
        }
        public frmBuscarTurnos()
        {
            InitializeComponent();
        }


        private List<DataGridViewColumn> columnas_agenda()
        {
            List<DataGridViewColumn> retorno = new List<DataGridViewColumn>();

            DataGridViewColumn c = new DataGridViewTextBoxColumn();
            c.Name = "Identificacion";
            c.DataPropertyName = "IdTurno";
            c.Visible = false;
            retorno.Add(c);

            DataGridViewColumn c1 = new DataGridViewTextBoxColumn();
            c1.Name = "Fecha";
            c1.DataPropertyName = "Fecha";

            retorno.Add(c1);

            DataGridViewColumn c2 = new DataGridViewTextBoxColumn();
            c2.Name = "Hora Inicio";
            c2.DataPropertyName = "FechayHora";
            c2.DefaultCellStyle.Format = "hh:mm";

            retorno.Add(c2);

            DataGridViewColumn c3 = new DataGridViewTextBoxColumn();
            c3.Name = "Solicitante";
            c3.Width = 400;
            c3.DataPropertyName = "SolicitanteDescripcion";

            retorno.Add(c3);

            DataGridViewColumn c4 = new DataGridViewTextBoxColumn();
            c4.Name = "Estado";
            c4.DataPropertyName = "EstadoDescripcion";

            retorno.Add(c4);

            return retorno;
        }



        private void cargarGrilla()
        {
            try
            {
                
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }


        private void frmBuscarTurnos_Load(object sender, EventArgs e)
        {
            try
            {
                Modelo.TurnosModelo.ConfigurarDGV(dgvAgenda, columnas_agenda());
                cargarGrilla();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }

        }
      
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                if (cbBusquedas.Text == "")
                    throw new turnosException("Seleccione un tipo de busqueda");
                if (cbBusquedas.Text == "Por Documento")
                    filtrarPorDocumento(int.Parse(textBox1.Text));
                if (cbBusquedas.Text == "Por Apellido")
                    filtrarPorNombre(textBox1.Text);
            }
            catch (Exception m)
            {
                MessageBox.Show(m.Message);
            }

        }

        private void filtrarPorDocumento(int p)
        {
            agenda = Modelo.TurnosModelo.TurnosC.TraerSolicitantePorDocumento(p);
            dgvAgenda.DataSource = agenda;
        }

      

        private void filtrarPorNombre(string p)
        {
            agenda = Modelo.TurnosModelo.TurnosC.TraerSolicitantePorNombre(p);
            dgvAgenda.DataSource = agenda;
        }

       
    }
}
